package cn.itcast.nems.employee.dao.condition;

import lombok.Data;

import java.util.Date;

@Data
public class EmployeeEvent {

    private String id;

    private Integer itcastUuid;


    /**
     * The employee number.
     * Like: 91921
     * <p>
     * 员工工号
     */
    private String employeeNumber;

    /**
     * The really chinese name of the itcast employee.
     * Like: 张晓峰
     */
    private String name;

    /**
     * The login name of the account, use email as login name.
     * Like: zhangxiaofeng@itcast.cn
     */
    private String username;

    /**
     * The login password of the login account.
     * Would be ignored when transfer.
     */
    private String password;

    /**
     * The gender of the employee.
     * 1 male
     * 2 female
     */
    private Integer sex;

    /**
     * The telephone of the employee.
     * Like: 039-5418764
     */
    private String telephone;

    /**
     * The mobile phone number of the employee.
     * Like: 13946875212
     * Would not show to client by default.
     */
    private String mobile;

    /**
     * The email of the employee.
     * Like: kannan@itcast.cn
     */
    private String email;

    /* ===========================	 often use info end	============================== */

    /* ===========================	 use info status start	============================== */

    /**
     * The account status of the employee.
     * 'true' enabled
     * 'false' not enabled
     * <p>
     * 帐号状态(enabled：true启用、false停用)
     */
    private Boolean isEnabled;

    /**
     * The employee status
     * 1 is on the job
     * 2 dimission
     * <p>
     * 人员状态(state：1在职、2离职)
     */
    private Integer status;

    /**
     * The ldap employee is deleted.
     * 'true' yes
     * 'false' no
     * <p>
     * 是否删除(isDeleted：true是、false否)
     */
    private Boolean isDeleted;

    /**
     * The type of the employee.
     * <p>
     * 人员类型1.正式 2.非正式
     */
    private String employeeType;

    /* ===========================	 use info status end	============================== */

    /**
     * The OA title id of the employee.
     * Like: -8656560009539338026
     * <p>
     * 岗位ID
     */
    private String titleId;

    /**
     * The OA title name of the employee.
     * Like: 助教
     * <p>
     * 岗位名称
     */
    private String title;

    /**
     * The level id of the employee.
     * Like: 4562917316194552480
     * <p>
     * 职级ID
     */
    private String levelId;

    /**
     * The level name of the employee.
     * Like: 员工
     * <p>
     * 职级名称
     */
    private String levelName;

    /**
     * The ldap and OA department id of the employee.
     * Like: 670869647114347
     * <p>
     * 员工LDAP部门ID（同OA部门ID）
     */
    private String departmentId;

    /**
     * The ldap and OA department name of the employee.
     * Like: 资金管理部
     * <p>
     * 员工LDAP部门名称（同OA部门名称）
     */
    private String departmentName;

    /**
     * The superior's uid of the employee.
     * Like: 4562917316194552480
     * <p>
     * 汇报人uid（直接上级uid）
     */
    private String reporterId;

    /**
     * Thee superior's chinese name of the emloyee.
     * Like: 张晓峰
     * <p>
     * 汇报人名称（直接上级名称）
     */
    private String reporterName;

    /**
     * The birthday of the employee.
     * The format is time milliseconds.
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date birthday;

    /**
     * The hiredate of the employee.
     * Like: 708105600000
     * <p>
     * 入职日期
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date hiredate;

    /**
     * The actual work address of the employee.
     * Like: 沙河绿城阳光
     * <p>
     * 工作地
     */
    private String workingAddr;

    /**
     * The uid of employee OA system.
     * <p>
     * OA id.
     */
    private String uid;

    /**
     * The sort number of OA.
     */
    private Integer sort;

    /**
     * The desc or remark of the employee.
     * <p>
     * 备注，描述
     */
    private String description;

    /**
     * The create time of the data.
     * <p>
     * 创建时间
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * The latest update time of the data.
     * <p>
     * 修改时间
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyTime;

}
